<?PHP
class query
{
    private $host;
    private $login;
    private $senha;
    private $dataBase;
    private $avisoConectarComSucess;
    private $query;
    private $exec;
    
    public function __construct()
    {
        //configurações para estabelecer conexão com a base de dados
        $this->host = 'localhost';
        $this->login = 'root';
        $this->senha = '';
        //Configuração para conectar ao banco de dados
        $this->dataBase = 'oempreiteiro';
        //Ao setar como true, sera mostrado avisos também ao conctar com sucesso no banco de dados
        $this->avisoConectarComSucess = false;
    }
    
    /**
     *  Função para Desconectar do Banco MySQL
    **/
    function disconnects()
    {
        return mysql_close($this->conect);
    }
    
    /**
     *  Função para Conectar no Banco MySQL
    **/
    public function conect()
    {
        if ( @$this->conect = mysql_connect($this->host, $this->login, $this->senha) )
            {
                //Só mostra o aviso de sucesso se estiver setado como true
                if( $this->avisoConectarComSucess ){echo 'Conexão estabelecidade com o host';}

                if( @$con = mysql_select_db($this->dataBase,$this->conect) )
                        {
                            //Só mostra o aviso de sucesso se estiver setado como true
                            if( $this->avisoConectarComSucess ){echo '<br />Conexão estabelecidade com a base de dados "' . $this->dataBase . '"';}
                        }
                else{
                        echo '<br />Falha ao estabelecer conexão com a base de dados "' . $this->dataBase . '"';
                    }
            }
        else
            {
                echo 'Falha ao estabelecer conexão com o host';
            }
        return $this->conect;
    }
    
    /**
     *  Executa as querys no Banco MySQL
    **/
    public function exec($sql)
    {
        $this->query = $sql;
        if ( @$this->exec = @mysql_query($this->query, $this->conect() ) )
            {
                $this->disconnects();
                return $this->exec;
            }
        else
            {
                echo utf8_decode("Erro de SQL - Sintáxi errada!.");
                exit;
            }
    }
    
    /**
     *  Retorna o total de linhas afetadas
    **/
    function numRows($result)
    {
        return mysql_num_rows($result);
    }
    
    /**
     *  Função para listar dados do Banco MySQL
    **/
//    public function listar($query)
//    {
//        while ($row = mysql_fetch_array($query))
//            {
//                $row2[] = $row;
//            }
//        return $row2;
//    }
    
    /**
     *  Retorna o ultimo id inserido
    **/
    public function lastId($tabela, $coluna){
        
        $query = $this->listarSimplificado('SELECT MAX('.'`'.$coluna.'`'.') AS id FROM ' .'`'. $tabela . '`' );
        return $query[0]['id'];
    }
    
    /**
     *  Função para listar dados do Banco MySQL dependente da função exec();
    **/
    public function listar($query)
    {
        while ($row = mysql_fetch_array($query))
            {
                $row2[] = $row;
            }
        return $row2;
    }
    
    /**
     *  Função simplificada para listar dados do Banco MySQL
    **/
    public function listarSimplificado($sql)
    {
        $sql = $this->exec($sql);
        while ( $row = mysql_fetch_array($sql) )
            {
                $row2[] = $row;
            }
        return $row2;
    }
}










    /**
     *  Retorna o total de linhas afetadas
    **/
//    function numRows($result)
//    {
//        return mysql_num_rows($result);
//    }
    
    /**
     *  Retorna o ultimo id inserido
    **/
//    public function lastId($tabela, $coluna){
//        
//        $query = $this->listar('SELECT MAX('.'`'.$coluna.'`'.') AS id FROM ' .'`'. $tabela . '`' );
//        return $query[0]['id'];
//    }
    
    /**
     *  Função para listar dados do Banco MySQL
    **/
//    public function listar($query)
//    {
//        $query = $this->exec($query);
//        while ( $row = mysql_fetch_array($query) )
//            {
//                $row2[] = $row;
//            }
//        return $row2;
//    }
?>